<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        div {
            width: 100px;
            height: 100px;
            background-color: skyblue;
        }
        .current {
            background-color: green;
        }
    </style>
    <script src="jquery.min.js"></script>
</head>
<body>
    <div></div>
    <ul>
        <li>1</li>
        <li>2</li>
        <li>3</li>
    </ul>

    <ol>

    </ol>
    <script>
        $(function() {
            // 1.单个事件注册
            // $("div").click(function() {
            //     $(this).css("background","purple");
            // })


            // 2.事件处理 on
            // element.on(events, [selector], fn)
            // 1. events: 一个或多个用空格分隔的事件类型，如"click"或"keydown" 。
            // 2. selector: 元素的子元素选择器 。
            // 3. fn:回调函数 即绑定在元素身上的侦听函数。
            $("div").on({
                mouseenter:function() {
                    $(this).css("background", "purple");
                },
                click:function() {
                    $(this).css("background", "red");
                },
                mouseleave:function() {
                    $(this).css("background", "yellow");
                }
            })
            // 事件处理程序一样
            $("div").on("mouseenter mouseleave",function() {
                $(this),toggleClass("current");
            })

            // 2.on可以实现事件委托
            // 给ul里面的li绑定事件
            $("ul li ").click();
            // 只有ul绑定事件，而li是触发事件
            $("ul").on("click","li",function() {

            })
            // 3.on可以给动态创建的元素绑定事件
            // 原来的方法，不行
            // $("ol li").click(function() {

            // })
            // 新方法 可以
            $("ol").on("click","li",function() {
                
            })
            var li = $("<li>创建li</li>")
            $("ol").append(li)

        })

    </script>
</body>
</html>